﻿using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
using Atendex.Dominio;
using Atendex.Dominio.Interfaces;
using System.IO;

namespace Atendex.Dominio.ActiveRecord
{
    [ActiveRecord("mensagem")]
    [Serializable]
    public class MensagemAR : ActiveRecordBase<MensagemAR>, IMensagem
    {
        private MensagemAR()
        {
        }
        internal MensagemAR(string texto)
        {
            Texto = texto;
            this.Anexos = new List<IAnexo>();
        }

        [PrimaryKey]
        public int Id { get; private set; }

        [Property(ColumnType = "StringClob")]
        public string Texto { get; set; }

        [Property]
        public string EmailAutor { get; set; }

        [Property]
        public bool Visivel { get; set; }

        [HasMany(typeof(AnexoAR), Cascade=ManyRelationCascadeEnum.All)]
        public IList<IAnexo> Anexos { get; set; }

        public override string ToString()
        {
            return Texto;
        }
    }
}